@Haggard
2年前 提问
1个回答

确保Linux服务器安全小技巧有哪些

X0_0X
2年前

确保Linux服务器安全小技巧如下:

  • 物理系统的安全性:配置BIOS,禁用从CD/DVD、外部设备、软驱启动。下一步,启用BIOS密码,同时启用GRUB的密码保护,这样可以限制对系统的物理访问。通过设置GRUB密码来保护Linux服务器。

  • 磁盘分区:使用不同的分区很重要,对于可能得灾难,这可以保证更高的数据安全性。通过划分不同的分区,数据可以进行分组并隔离开来。当意外发生时,只有出问题的分区的数据才会被破坏,其他分区的数据可以保留下来。

  • 最小包安装,最少漏洞:建议不要安装无用的包,避免由这些包带来的漏洞。这将最小化风险,因为一个服务的漏洞可能会危害到其他的服务。找到并去除或者停止不用的服务,把系统漏洞减少到最小。

  • 检查网络监听端口:在网络命令netstat的帮助下,你将能够看到所有开启的端口,以及相关的程序。

  • 使用 SSH(Secure Shell):Telnet 和 rlogin 协议只能用于纯文本,不能使用加密的格式,这或将导致安全漏洞的产生。SSH 是一种在客户端与服务器端通讯时使用加密技术的安全协议。除非必要,永远都不要直接登录 root 账户。使用“sudo”执行命令。sudo 由 /etc/sudoers 文件制定,同时也可以使用“visudo”工具编辑,它将通过 VI 编辑器打开配置文件。同时,建议将默认的 SSH22端口号改为其他更高的端口号。打开主要的 SSH 配置文件并做如下修改,以限制用户访问。

  • 保证系统是最新的:得一直保证系统包含了最新版本的补丁、安全修复和可用内核。

  • 锁定 Cron任务:Cron有它自己内建的特性,这特性允许定义哪些人能哪些人不能跑任务。这是通过两个文件/etc/cron.allow 和/etc/cron.deny 控制的。要锁定在用Cron的用户时可以简单的将其名字写到corn.deny里,而要允许用户跑cron时将其名字加到cron.allow即可。如果要禁止所有用户使用corn,那么可以将“ALL”作为一行加到cron.deny里。

  • 禁止USB探测:很多情况下我们想去限制用户使用USB,来保障系统安全和数据的泄露。建立一个文件‘/etc/modprobe.d/no-usb‘并且利用下面的命令来禁止探测USB存储。

  • 打开SELinux:SELinux(安全增强linux)是linux内核提供的一个强制的访问控制安全机制。禁用SELinux意味着系统丢掉了安全机制。要去除SELinux之前仔细考虑下,如果系统需要发布到网络,并且要在公网访问,就要更加注意一下。

  • 移除KDE或GNOME桌面:没必要在专用的LAMP服务器上运行X Window桌面比如KDE和GNOME。可以移掉或关闭它们,以提高系统安全性和性能。打开/etc/inittab然后将run level改成3就可以关闭这些桌面。

  • 关闭IPv6:如果不用IPv6协议,那就应该关闭掉它,因为大部分的应用和策略都不会用到IPv6,而且当前它不是服务器必需的。

  • 限制用户使用旧密码:如果你不希望用户继续使用老密码,这一条很有用。老的密码文件位于 /etc/security/opasswd。

  • 手动锁定或解锁用户账号:锁定和解锁功能是非常有用的,可以锁定一个账号一周或一个月,而不是将这个账号从系统中剔除。

  • 增强密码:有相当数量的用户使用很弱智的密码,他们的密码都可以通过字典攻击或者暴力攻击攻破。‘pam_cracklib‘模块存于在PAM 中,它可以强制用户设置复杂的密码。

  • 启用防火墙:高度推荐启用linux防火墙来禁止非法程序访问。使用iptable的规则来过滤入站、出站和转发的包。我们可以针对来源和目的地址进行特定udp/tcp端口的准许和拒绝访问。

  • 禁止Ctrl+Alt+Delete重启:在大多数的linux发行版中,按下‘CTRL-ALT-DELETE’将会让你的系统重启。只说生产服务器上这是不是一个很好的做法,这可能导致误操作。这个配置是在‘ /etc/inittab‘文件,如果你打开这个文件默认的行已经被注释掉了。必须注释掉他。这个特定按键会让系统重启。

  • 检查空密码帐号:任何空密码的账户意味这可以让Web上任何无授权的用户访问,这是linux服务器的一个安全威胁。所以,确定所有的用户拥有一个复杂的密码并且不存在特权用户。空密码帐号是安全风险,可以被轻易的攻克。

  • 登录前显示SSH提示:在ssh认证时候,使用一个法律和安全警示是很好的建议。

  • 监视用户行为:如果你有很多的用户,去收集每一个用户的行为和和他们的进程消耗的信息非常重要。可以随后和一些性能优化和安全问题处理时进行用户分析。 有两个很有用的工具‘psacct‘ 和‘acct‘可以用来监视系统中用户的行为和进程。这些工具在系统后台执行并且不断记录系统中每一个用户的行为和各个服务比如Apache, MySQL, SSH, FTP, 等的资源消耗。

  • 定期查看日志:将日志移动到专用的日志服务器里,这可避免入侵者轻易的改动本地日志。

  • 重要文件备份:在生产环境里,为了灾难恢复,有必要将重要文件备份并保存在安全的远程磁带保险库、远程站点或异地硬盘。

  • NIC绑定:有两种类型的NIC绑定模式,需要在绑定接口用得到。NIC绑定可以帮助我们避免单点失败。在NIC绑定中,我们把两个或者更多的网卡绑定到一起,提供一个虚拟的接口,这个接口设置ip地址,并且和其他服务器会话。这样在一个NIC卡down掉或者由于其他原因不能使用的时候,我们的网络将能保持可用。

  • 保持 /boot只读:linux内核和他的相关的文件都保存在/boot目下,默认情况下是可以读写的。把它设为了只读可以减少一些由于非法修改重要boot文件而导致的风险。